home *** CD-ROM | disk | FTP | other *** search
- global gmObject, sndObject, monkey --gameobjektet, ersätts vid varje nytt spel, soundObject
-
- global fileIoTxt --kolla om denna verkligen beh├╢vs f├╢r att f├╢da fileIo!!!!
-
- property beenTo --lista på vilka spel man har varit i redan
- property buttonSpritesUpper, vPosButtonUpper --knapparna i ├╢vre raden
- property city
- property nextMovie
- property cdVirgin --om det är första gången, triggar hjälpen i oh automatiskt
- property introSoundTrig --triggas av ingm när man ska gå till ett spel
- ------------------------------------------------------------------------------------------------------------------------------
-
- property osDrive, cdPath, txtFile, deskTopPath, del, myColor --propertys för att hålla rätt på sökvägar och sånt s
- ------------------------------------------------------------------------------------------------------------------------------
-
- on new me
- -----fileStuff
- register xtra "PrintOMatic","PMAT162-616-46606"
- cdPath = the moviePath
- deskTopPath = 0
-
- findOsDrive me
- findDesktop me
- findTxtFile me
- writeCdPath me
-
- -----knappar
- buttonSpritesUpper = [133, 143] --övre knappradens spriteNummer hårdKåd
- vPosButtonUpper = 300 -- position(v) om knappen ska synas, hårdKåd
- introSoundTrig = 0
-
- return me
- end
-
- ------------------------------------------------------------------------------------------------------------------------------
- --kolla mot text-fil på disk, skriva till disk/autospar
- ------------------------------------------------------------------------------------------------------------------------------
- on saveCity me
- city = 1
- autoSaveBeenTo me
- end
-
- on getBeenTo me, whatColor --kopplar mot txt-fil på hd när man väljer en färg
- myColor = symbol(whatColor)
- fileIoTxt = new(xtra "fileio")
- openFile(fileIoTxt, txtFile, 1)
- txt = value(readFile(fileIoTxt))
- beenTo = txt[myColor]
- city = value(txt[#city][myColor])
- closeFile fileIoTxt
- fileIoTxt = 0
- end
-
- on autoSaveBeenTo me
- fileIoTxt = new(xtra "fileio")
- openFile(fileIoTxt, txtFile, 0)
- txt = value(readFile(fileIoTxt))
- delete(fileIoTxt)
- closeFile(fileIoTxt)
- createFile(fileIoTxt, txtFile)
- openFile(fileIoTxt, txtFile, 0)
- txt[myColor] = beenTo
- txt[#city][myColor] = city
- writeString(fileIoTxt, string(txt))
- closeFile(fileIoTxt)
- fileIoTxt = 0
- end
-
- ------------------------------------------------------------------------------------------------------------------------------
-
- on findOsDrive me
- v = getOSDirectory()
- num = v.chars.count
-
- if (the platform).char[1..3] = "Win" then
- del = "\"
- else
- del = ":"
- end if
-
- repeat with n = 1 to num
- if v.char[n] = del then
- osDrive = v.char[1..n]
- exit repeat
- end if
- end repeat
- end
-
- on findDesktop me
- buddy = new(xtra "budapi")
- deskTopPath = baSysFolder("desktop")
- buddy = 0
- end
-
- on findTxtFile me
- txtFile = osDrive&"pippilst.txt"
- if FileExists(txtFile) <> 0 then
- cdVirgin = 1
- installPippi me
- else
- cdVirgin = 0
- checkTxtFile me
- end if
-
- end
-
- on checkTxtFile me
- corrupt = 0
-
- fileIoTxt = new(xtra "fileio")
- openFile(fileIoTxt, txtFile, 1)
- txt = value(readFile(fileIoTxt))
-
- if listP(txt) = 0 then
- corrupt = 1
- put "corrupt: not a list"
- end if
- if corrupt = 0 then
- if txt.count <> 6 then
- corrupt = 1
- put "corrupt: wrong number of items in list"
- end if
- end if
- if corrupt = 0 then
- repeat with n = 1 to 6
- if voidP(txt[n]) = 1 then
- corrupt = 1
- put "corrupt: void item in list"
- exit repeat
- end if
- end repeat
- end if
-
- if corrupt = 1 then
- deleteCorruptFile me
- installPippi me
- end if
- end
-
- on deleteCorruptFile me
- DeleteFile(txtFile)
- end
-
- on installPippi me
- if del = ":" then
- suffix = ""
- else
- suffix = ".exe"
- end if
-
- --g├╢ra en helt ny fil och fylla med tomma listan
-
- fileIoTxt = new(xtra "fileio")
- emptyListFile = osDrive&"pippilst.txt"
- txt = [#cdDrive:"empty", #city: [#red: 0, #blue: 0, #green: 0, #yellow: 0], #red:[[]], #blue:[[]], #green:[[]], #yellow:[[]]]
- createFile(fileIoTxt, emptyListFile)
- openFile(fileIoTxt, emptyListFile, 0)
- writeString(fileIoTxt, string(txt))
- closeFile fileIoTxt
- fileIoTxt = 0
-
- --slut: g├╢ra en helt ny fil och fylla med tomma listan
- if deskTopPath <> 0 then
- CopyFile cdPath&"toDesk"&del&"Pippi"&suffix, deskTopPath&"Pippi"&suffix
- end if
-
- end
-
- on writeCdPath me
- fileIoTxt = new(xtra "fileio")
- openFile(fileIoTxt, txtFile, 0)
- txt = value(readFile(fileIoTxt))
- delete(fileIoTxt)
- closeFile(fileIoTxt)
- createFile(fileIoTxt, txtFile)
- openFile(fileIoTxt, txtFile, 0)
- txt[#cdDrive] = cdPath
- writeString(fileIoTxt, string(txt))
- closeFile(fileIoTxt)
- fileIoTxt = 0
- end
-
- ------------------------------------------------------------------------------------------------------------------------------
- ------------------------------------------------------------------------------------------------------------------------------
-
- --anropas från knapparna för att gå till rätt frame i spel-filmerna
- on getFrame me, pMovie
- if pMovie = "is" or pMovie = "sl" then
- xFrame = random(4)
- else
- xFrame = 1
- end if
-
- repeat with b = 2 to (beenTo.count)
- if beenTo[b][1] = pMovie then
- xFrame = beenTo[b][2]
- exit repeat
- end if
- end repeat
- return xFrame
- end
-
- ------------------------------------------------------------------------------------------------------------------------------
- --initiering och avslutning av olika sorts filmer
- ------------------------------------------------------------------------------------------------------------------------------
-
- on initGmMovie me --alla game-filer initieras med denna
- --kolla om användaren har varit här förut annars lägga till spelet till listan som gör att en knapp finns i övre listen
- writeGm = 1
- repeat with n = 2 to beenTo.count
- if (the moviename).char[3..4] = beenTo[n][1] then
- writeGm = 0
- exit repeat
- end if
- end repeat
- if writeGm = 1 then --ifall det är första gången på detta spel så..
- beenTo[(beenTo.count) + 1] = [((the moviename).char[3..4]), 1] --spara till listan beenTo... sista värdet betyder frame 1 i filmen
- autoSaveBeenTo me --samt spara till disk
- end if
- adjustButtons me --ordna knapparna i ├╢vre listen
- if the number of castlibs = 3 then --ifall det finns responsSounds som ska läsas in i soundObjectet
- sndObject.initRespondlist()
- end if
-
- if introSoundTrig = 1 then
- sound(2).play(member("introSnd", 1)) --f├╢rklaringsSpeaker
- end if
- introSoundTrig = 0
- end
-
- on upCountGmMovie me, frameValue --ifall man ska till en annan frame i filmen nästa gång man kommer dit
- repeat with b = 2 to (beenTo.count)
- if beenTo[b][1] = (the moviename).char[3..4] then
- beenTo[b][2] = frameValue
- exit repeat
- end if
- end repeat
- autoSaveBeenTo me --spara till disk
- end
-
- on finitGmMovie me, frameValue --alla gameFiler avslutas med denna
- gmObject = 0 --d├╢da spelObjektet
- end
-
- on initMyMovie me --alla meny-filer initieras
- adjustButtons me --ordna knapparna i ├╢vre listen
- end
-
- on initIntroMovie me, pNextMovie --alla meny-filer initieras
- set the keyDownScript to "sessionObject.keyHit()"
- nextMovie = pNextMovie
- end
-
- on finitIntroMovie me
- set the keyDownScript to ""
- end
-
- on keyHit me
- if the keyCode = 49 then
- if objectP(monkey) = 0 then
- monkey = new(script "monkeyScript")
- end if
- sound(2).stop()
- set the keyDownScript to ""
- go movie nextMovie
- end if
- end
-
- on adjustButtons me --ordna knapparna
- sound(1).volume = 150
- sprite(150).initMe() --sätta apan rätt
- if city = 1 then
- sprite(148).locV = vPosButtonUpper
- end if
- if beenTo.count > 1 then
- repeat with b = 2 to (beenTo.count)
- repeat with n = buttonSpritesUpper[1] to buttonSpritesUpper[2]
- if sprite(n).member.name = beenTo[b][1] then
- sprite(n).locV = vPosButtonUpper
- exit repeat
- end if
- end repeat
- end repeat
- end if
- end
-
- ------------------------------------------------------------------------------------------------------------------------------
- ------------------------------------------------------------------------------------------------------------------------------
- ------------------------------------------------------------------------------------------------------------------------------
-
-